/*

创建问卷对象,保存所有数据 ------ 包括如下内容：

createTime  ------ 问卷创建日期
deadLine    ------ 问卷截至时间

questions   ----- 链表结构存储问卷中所有的问题，每个问题的结构
                // order 题目序号，int 全局  
                type:      single、multple、text
                descript:  题目文本内容 
                answers int 单选（0-1），多选（0-3），文本类型
                

*/

// let Questionnaire = {
//   createTime: "",
//   deadLine: "",
//   questions: [],
// };

// //保存所有问卷对象的问卷数组
// var Questionnaires = [];

// //存储当前被操作的对象
// localStorage.setItem("currentOperatedQuestionnaire",JSON.stringify({})); //初始化时先存储一个空对象
// //存储当前被操作的对象在问卷数组Questionnaires[]中的位置，先后初始化为-1
// (function(){
//   localStorage.setItem("indexOfcurrentOperatedQuestionnaire","-1");//记得把取出的值转为整数
// })();

// //测试代码：立即执行函数，看看localStorage中有几个问卷
// (function(){
//   console.log("未执行任何函数前，问卷数组[]中的元素个数 Questionnaires.length = "+Questionnaires.length);
// })();

// //初始化localStorage中的Questionnaires(也用于清除之前残留的数据)
// (function(){
//   let questionnaires = [];
//   localStorage.setItem("Questionnaires",JSON.stringify(questionnaires));
//   questionnaires = JSON.parse(localStorage.getItem("Questionnaires"));
//   console.log("未执行任何函数前，清空localStorage问卷数组[]中的元素，此时的 Questionnaires.length = "+questionnaires.length);
// })();

// (function(){
//   let lengthOfQuestionnaires = (JSON.parse(localStorage.getItem("Questionnaires"))).length;
//   console.log("未执行任何函数前，localStorage问卷数组[]中的元素个数 Questionnaires.length = "+lengthOfQuestionnaires);
// })();

//import { Questionnaires } from "./initAndClear";

// console.log(
//   "------------------------base.js中 Questionnaires.length = " +
//     Questionnaires.length
// );

// console.log("Questionnaires = "+Questionnaires);
// console.log("Questionnaires.length = "+Questionnaires.length);
console.log("-------------------------------------------------------------");

(function () {
  questionnaireFresh();
})();

console.log("-------------------------------------------------------------");

localStorage.setItem("date", " ：请先选截止时间");

console.log(
  "----  localStorage.setItem(date, ret)) = " + localStorage.getItem("date")
);

console.log(
  "----  localStorage.setItem(currentDate, currentDate)) = " +
    localStorage.getItem("currentDate")
);

//创建问卷对象按键
function createQuestionnaireBtn() {
  //let time = +Date();
  //创建问卷对象
  let questionnaire = {
    title: "",
    createTime: "",
    //deadline: "heheheheh",
    state: 0, //是否发布 (0 - 没有发布（默认为 0 ）)
    questions: [],
  };

  //判断localStorage中是否有之前未删除的问卷
  // let preQuestionnaires = localStorage.getItem("Questionnaires");
  // if ("{}" != preQuestionnaires) {
  //   //如果有，获取localStorage中问卷数组的数据到Questionnaires[]中
  //   preQuestionnaires = JSON.parse(preQuestionnaires);

  //   // !!!!!!! 会有问题吗？
  //   //Questionnaires = preQuestionnaires;
  // }

  //console.log("行73：questionnaire.state = " + questionnaire.title);
  //console.log("行74: Questionnaires.length  = " + Questionnaires);

  let Questionnaires = JSON.parse(localStorage.getItem("Questionnaires"));

  //保存问卷到问卷数组中
  Questionnaires.push(questionnaire);

  let index = Questionnaires.length - 1 + "";

  //将所有问卷保存到localStorage中
  localStorage.setItem("Questionnaires", JSON.stringify(Questionnaires));

  //保存该新建的问卷到“当前被操作的问卷”中，因为马上就要对其进行操作
  localStorage.setItem(
    "currentOperatedQuestionnaire",
    JSON.stringify(questionnaire)
  ); //JSON.stringify(questionnaire)
  localStorage.setItem("indexOfcurrentOperatedQuestionnaire", index);
  console.log("-----------------------------------------------");
  console.log("测试：createQuestionnaireBtn（） - index = " + index);
  //不 return questionnaire ，直接从localStorage.getItem("currentOperatedQuestionnaire")中获取即可
  console.log(
    "测试：createQuestionnaireBtn（） - Questionnaires[0].title: " +
      Questionnaires[0].title
  );

  console.log(
    "测试：createQuestionnaireBtn（） - JSON.parse(localStorage.getItem(currentOperatedQuestionnaire)):  " +
      JSON.parse(localStorage.getItem("currentOperatedQuestionnaire"))
  );
  console.log(
    "测试：createQuestionnaireBtn（） - JSON.parse(localStorage.getItem(indexOfcurrentOperatedQuestionnaire)):  " +
      JSON.parse(localStorage.getItem("indexOfcurrentOperatedQuestionnaire"))
  );

  (function () {
    console.log(
      "测试：createQuestionnaireBtn（） - 执行函数后，问卷数组[]中的元素个数 Questionnaires.length = " +
        Questionnaires.length
    );
  })();

  console.log(
    "---------------------------- 分割线 ------------------------------"
  );
}

//创建问卷列表页中的单个问卷
function createQuestionnaireHTML(n) {
  // n - 下标

  let questionnaire = JSON.parse(localStorage.getItem("Questionnaires"))[n];
  //测试
  console.log("createQuestionnaireHTML(n)中的questionnaire = " + questionnaire);

  let content = document.getElementById("questionnaires_content");
  let div = document.createElement("div");
  let p1 = document.createElement("p");
  let p2 = document.createElement("p");
  p2.className = "time";
  let p3 = document.createElement("p");
  p3.className = "release";
  p1.innerText = questionnaire.title; //"问卷的标题";
  p1.setAttribute("type", "edit");
  div.appendChild(p1);
  p2.innerText = questionnaire.createTime; //"问卷的时间";
  p2.setAttribute("type", "date");
  div.appendChild(p2);
  //"问卷的状态" - 未发布、发布中、已结束
  if (questionnaire.state == 0) {
    p3.innerText = "未发布";
  } else if (questionnaire.state == 1) {
    p3.innerText = "发布中";
  } else {
    p3.innerText = "已结束";
  }
  p3.setAttribute("type", "state");
  div.appendChild(p3);
  div = createQuestionnaireOperateBtns(div, n); //n-下标
  content.appendChild(div);
}

//问卷列表页
function questionnaireFresh() {
  let lengthOfQuestionnaires = JSON.parse(
    localStorage.getItem("Questionnaires")
  ).length;
  //let temp = JSON.parse(localStorage.getItem("Questionnaires"));
  //console.log("测试：questionnaireFresh() - temp.length = "+temp.length);
  console.log("测试：questionnaireFresh() >>  ");
  console.log(" lengthOfQuestionnaires = " + lengthOfQuestionnaires);

  document.getElementById("questionnaires_content").innerHTML = " "; //清空页面内容

  if (lengthOfQuestionnaires <= 0) {
    //编写跳转到新建问卷页
    //window.location.href="../html/create_questionnaires.html";
    return;
  }

  for (let i = 0; i < lengthOfQuestionnaires; i++) {
    createQuestionnaireHTML(i);
  }

  let selectedDate = localStorage.getItem("date");
  console.log("-----------------测试 ： selectedDate = " + selectedDate);
}

//生成问卷的编辑、删除、查看数据按键
function createQuestionnaireOperateBtns(div, questionnaireNumber) {
  //questionnaireNumber - 问卷数组中元素的下标
  let editorBtn = document.createElement("input"); //编辑按键
  editorBtn.className = "edit";
  editorBtn.type = "button";
  editorBtn.value = "编辑";
  editorBtn.setAttribute("questionnaireNumber", questionnaireNumber);
  editorBtn.name = "editor";
  editorBtn.setAttribute(
    "onclick",
    'javascript:editorBtnOfQuestionnaire(this.getAttribute("questionnaireNumber"))'
  );
  div.appendChild(editorBtn);

  let deleteBtn = document.createElement("input"); //删除按键
  deleteBtn.type = "button";
  deleteBtn.value = "删除";
  deleteBtn.name = "delete";
  deleteBtn.setAttribute("questionnaireNumber", questionnaireNumber);
  // deleteBtn.setAttribute(
  //   "onclick",
  //   'javascript:deleteBtnOfQuestionnaire(this.getAttribute("questionnaireNumber"))'
  // );
  deleteBtn.setAttribute(
    "onclick",
    'javascript:alert(this.getAttribute("questionnaireNumber"))'
  );
  div.appendChild(deleteBtn);

  let viewDataBtn = document.createElement("input"); //查看数据按键
  viewDataBtn.type = "button";
  viewDataBtn.value = "查看数据";
  viewDataBtn.name = "upmove";
  viewDataBtn.setAttribute("questionnaireNumber", questionnaireNumber);
  viewDataBtn.setAttribute(
    "onclick",
    'javascript:viewDataBtnOfQuestionnaire(this.getAttribute("questionnaireNumber"))'
  );
  div.appendChild(viewDataBtn);

  let reuseDataBtn = document.createElement("input"); //查看数据按键
  reuseDataBtn.type = "button";
  reuseDataBtn.value = "复用";
  reuseDataBtn.name = "reuse";
  reuseDataBtn.setAttribute("questionnaireNumber", questionnaireNumber);
  reuseDataBtn.setAttribute(
    "onclick",
    'javascript:reuseDataBtnOfQuestionnaire(this.getAttribute("questionnaireNumber"))'
  );
  div.appendChild(reuseDataBtn);

  return div;
}

//问卷的编辑按键 --跳到--> 问卷编辑页（editor.html）
function editorBtnOfQuestionnaire(n) {
  //n - 数组下标
  //更新当前操作的问卷对象为Questionnaires[n] --- 注意要从localStorage中取
  let currentOperatedQuestionnaire = JSON.parse(
    localStorage.getItem("Questionnaires")
  )[n];
  localStorage.setItem(
    "currentOperatedQuestionnaire",
    JSON.stringify(currentOperatedQuestionnaire)
  );
  localStorage.setItem("indexOfcurrentOperatedQuestionnaire", n + "");
  // 更新函数questionFresh()中的let questions = JSON.parse(localStorage.getItem("questions"));
  //localStorage.setItem("questions", JSON.stringify(currentOperatedQuestionnaire.questions));

  //测试：
  console.log("测试：editorBtnOfQuestionnaire() >>");
  console.log("传入的参数 n = " + n);
  console.log(
    "locaStorage 中的 currentOperatedQuestionnaire = " +
      JSON.parse(localStorage.getItem("currentOperatedQuestionnaire"))
  );
  console.log(
    "localStorage.getItem('indexOfcurrentOperatedQuestionnaire') = " +
      JSON.parse(localStorage.getItem("indexOfcurrentOperatedQuestionnaire"))
  );
  console.log(" << ");

  window.location.href = "../html/edit_questionnaire.html";
  //questionFresh();//!!!!这里会有问题吗？跳转后能不能正常刷新展示页面
}

//问卷的删除按键
function deleteBtnOfQuestionnaire(n) {
  //n - 下标
  //更新当前操作的问卷对象为Questionnaires[n-1] -> 不必存到 currentOperatedQuestionnaire 中了，直接删就好
  //localStorage.setItem("currentOperatedQuestionnaire",JSON.stringify(Questionnaires[n-1]));
  //将当前操作问卷对象设为空对象
  localStorage.setItem("currentOperatedQuestionnaire", JSON.stringify({}));

  // Questionnaires.splice(n, 1); //完全删除这个问卷对象?????页面跳转后Questionnaires[]中的数据还在吗？

  let storageQuestionnaires = JSON.parse(
    localStorage.getItem("Questionnaires")
  );
  storageQuestionnaires.splice(n, 1);
  localStorage.setItem("Questionnaires", JSON.stringify(storageQuestionnaires)); //对应同步删除localStorage中相关数据
  questionnaireFresh(); //删除后重新展示总问卷页面
}

//问卷的查看数据按键 -- 跳到 --> 数据查看页(viewData.html)
function viewDataBtnOfQuestionnaire(n) {
  // n - 当前操作的问卷的在locaStorage中的下标
  console.log("测试：问卷查数据按键 - viewDataBtnOfQuestionnaire（）： >> ");
  let storageQuestionnaires = JSON.parse(
    localStorage.getItem("Questionnaires")
  );
  console.log("n = " + n);
  console.log(
    "storageQuestionnaires[n].questions = " + storageQuestionnaires[n].questions
  );
  let currentOperatedQuestionnaire = JSON.parse(
    localStorage.getItem("Questionnaires")
  )[n];

  //更新当前操作问卷对象
  localStorage.setItem(
    "currentOperatedQuestionnaire",
    JSON.stringify(currentOperatedQuestionnaire)
  );
  //更新indexOfCurrentOperatedQuestionnaire
  localStorage.setItem("indexOfcurrentOperatedQuestionnaire", n + "");

  console.log(
    "当前操作问卷对象 currentOperatedQuestionnaire = " +
      currentOperatedQuestionnaire
  );
  console.log("<<");
  window.location.href = "../html/viewData.html";
}

function reuseDataBtnOfQuestionnaire(n) {
  let storageQuestionnaires = JSON.parse(
    localStorage.getItem("Questionnaires")
  );
  //被复用的问卷
  let reusedQuestionnaire = JSON.parse(localStorage.getItem("Questionnaires"))[
    n
  ];
  storageQuestionnaires.splice(n + 1, 0, reusedQuestionnaire);
  localStorage.setItem("Questionnaires", JSON.stringify(storageQuestionnaires));
  questionnaireFresh();
}
//????什么时候 将当前操作问卷对象设为空对象 localStorage.setItem("currentOperatedQuestionnaire",xxx);

//填写问卷
//只有在问卷发布后才能进行填写
function fillOutQuestionnaire(n) {
  //n-下标
  let Questionnaires = JSON.parse(localStorage.getItem("Questionnaires"));
  if (Questionnaires[n].state == 0) {
    alert("发布后才能填写");
    return;
  }
  localStorage.setItem(
    "currentOperatedQuestionnaire",
    JSON.stringify(Questionnaires[n])
  );
  // 更新函数questionFresh()中的let questions = JSON.parse(localStorage.getItem("questions"));
  localStorage.setItem(
    "questions",
    JSON.stringify(Questionnaires[n].questions)
  );
  //window.location.href = "../html/editor.html";
  questionFresh();
}

//“查看数据” -> 展示页面
// 注意：所有的题目都在 <div id="view_questionnaire_content"> </div> 中
function viewQuestionnaireHTML(n) {
  // n - 用于标识当前操作的问卷在localStorage中的下标
  console.log("测试：viewQuestionnaireHTML(n) >>");

  document.getElementById("view_questionnaire_content").innerHTML = "";

  let currentOperatedQuestionnaire = JSON.parse(
    localStorage.getItem("currentOperatedQuestionnaire")
  );
  console.log(
    "localStorage中取出当前问卷操作对象currentOperatedQuestionnaire = " +
      currentOperatedQuestionnaire
  );
  console.log(
    "从localStorage中取出 indexOfCurrentOperatedQuestionnaire = " +
      JSON.parse(localStorage.getItem("indexOfcurrentOperatedQuestionnaire"))
  );
  let questions = currentOperatedQuestionnaire.questions;
  console.log(" currentOperatedQuestionnaire 中的 questions = " + questions);

  document.getElementById("quesionnaire_title").innerText =
    currentOperatedQuestionnaire.title;
  for (let i = 0; i < questions.length; i++) {
    //刷新时填充对应的数据到题目里
    let type = questions[i].type;
    if (type == "single") {
      let singleDiv = singleChoiceOfViewQuestionnaire(); //先创建HTML
      //题目 = “Q题号（单选题）” + 题目内容
      let p = singleDiv.getElementsByTagName("p");
      p[0].innerText = p[0].innerText + questions[i].description;

      let labels = singleDiv.getElementsByTagName("label");
      for (let j = 0; j < labels.length; j++) {
        //再填充
        labels[j].lastChild.value = questions[i].answers[j];
      }
    } else if (type == "multiple") {
      let multipleDiv = multipleChoiceOfViewQuestionnaire();

      let p = multipleDiv.getElementsByTagName("p");
      p[0].innerText = p[0].innerText + questions[i].description;

      let labels = multipleDiv.getElementsByTagName("label");
      for (let j = 0; j < labels.length; j++) {
        labels[j].lastChild.value = questions[i].answers[j];
      }
    } else {
      let textDiv = textChoiceOfViewQuestionnaire();

      let p = textDiv.getElementsByTagName("p");
      p[0].innerText = p[0].innerText + questions[i].description;

      let inputs = textDiv.getElementsByTagName("input");
      inputs[0].value = questions[i].answer;
    }
  }
}

//“查看数据” -> 展示页面 -> "单选题"
function singleChoiceOfViewQuestionnaire() {
  let content = document.getElementById("view_questionnaire_content");
  let div = document.createElement("div");
  let p = document.createElement("p");

  let questionOrder =
    document.getElementById("view_questionnaire_content").children.length + 1;

  p.innerText = "Q" + questionOrder + "（单选题）";

  //div.id = order;
  div.setAttribute("type", "single"); //将该问题标注为 type = single
  div.appendChild(p);

  for (let i = 1; i <= 2; i++) {
    let label = document.createElement("label");

    let inputInner = document.createElement("input");
    inputInner.type = "text";
    inputInner.value = "选项" + i;

    let br = document.createElement("br");
    label.appendChild(inputInner);
    div.appendChild(label);
    div.appendChild(br);
  }

  // //编写代码展示数据（ing）！！！！
  // let dataDiv = document.createElement("div");
  // dataDiv.id = "main"+ questionOrder;
  // dataDiv.className = 'bar';
  // div.appendChild(dataDiv);

  content.appendChild(div);

  return div;
}

//“查看数据” -> 展示页面 -> "多题"
function multipleChoiceOfViewQuestionnaire() {
  let content = document.getElementById("view_questionnaire_content");
  let div = document.createElement("div");
  let p = document.createElement("p");

  let questionOrder =
    document.getElementById("view_questionnaire_content").children.length + 1;
  p.innerText = "Q" + questionOrder + "（双选题）";

  div.setAttribute("type", "multiple");
  div.appendChild(p);

  for (let i = 1; i <= 4; i++) {
    let label = document.createElement("label");
    let inputY = document.createElement("input");
    let span = document.createElement("span");
    let br = document.createElement("br");

    //选项内容
    inputY.type = "text";
    inputY.value = "选项" + i;
    //inputY.id = inputX.id + "_text";

    //label.appendChild(inputX);
    label.appendChild(inputY);
    div.appendChild(label);
    div.appendChild(br);
  }

  //编写代码展示数据！！！！
  // let dataDiv = document.createElement("div");
  // dataDiv.id = "main"+ questionOrder;
  // dataDiv.className='pie';
  // div.appendChild(dataDiv);

  content.appendChild(div);

  return div;
}

function textChoiceOfViewQuestionnaire() {
  // 编写代码
  let content = document.getElementById("view_questionnaire_content");
  let div = document.createElement("div");
  //div.id = order;
  div.setAttribute("type", "text");
  let p = document.createElement("p");
  let questionOrder =
    document.getElementById("view_questionnaire_content").children.length + 1;
  p.innerText = "Q " + questionOrder + "（文本题目）";
  let input = document.createElement("input");
  input.type = "text";

  div.appendChild(p);
  div.appendChild(input);

  //编写代码展示数据！！！！
  // let dataDiv = document.createElement("div");
  // dataDiv.id = "main"+ questionOrder;
  // dataDiv.className='bar';
  // dataDiv.innerText="看看是否添加dataDiv成功";
  // div.appendChild(dataDiv);
  // content.appendChild(div);

  content.appendChild(div);

  return div;
}

//统计选项数据
function countOptionsData() {
  // let option = {
  //     series: [
  //       {
  //         data: []
  //       }
  //     ]
  //   };

  let options = new Array(); //可以这样理解：option 是问题，而options则是由多个问题目组成的问卷

  // {
  //    value - 选该选项的个数
  //    name -  该题第的 i 个选项
  // }

  //单选
  let singleOptionData = [
    {
      value: 0,
      name: 1,
    },
    {
      value: 0,
      name: 2,
    },
  ];
  //多选
  let multipleOptionData = [
    {
      value: 0,
      name: 1,
    },
    {
      value: 0,
      name: 2,
    },
    {
      value: 0,
      name: 3,
    },
    {
      value: 0,
      name: 4,
    },
  ];
  //文本
  let textOptionData = [
    {
      value: 0,
      name: 1,
    },
  ];

  console.log("----------------------------------------------------------- ");
  let questionnaires = JSON.parse(localStorage.getItem("Questionnaires"));
  console.log("Questionnaires = " + questionnaires);
  let index = JSON.parse(
    localStorage.getItem("indexOfcurrentOperatedQuestionnaire")
  );

  console.log("index = " + index);

  let titleOfCurrentOperatedQuestionnaire = questionnaires[index].title;

  //找到第一份符合的问卷的下标
  let startIndex = 0;
  for (let i = 0; i < questionnaires.length; i++) {
    if (questionnaires[i].title != titleOfCurrentOperatedQuestionnaire) {
      continue;
    } else {
      startIndex = i;
      break;
    }
  }

  //然后利用找到的第一份符合的问卷来初始化 options
  let questions = questionnaires[startIndex].questions;
  for (let j = 0; j < questions.length; j++) {
    if (questions[j].type == "single") {
      //单选
      let curQuestionData = singleOptionData;

      console.log(
        "第459行: curQuestionData.length = " + curQuestionData.length
      ); //正常 - 2

      if (questions[j].value[0] == 1) {
        //如果选的是第一个选项，那么name=1的{value,name}中value+1
        curQuestionData[0].value++;
        //正常 - 1
        console.log(
          "第464行：curQuestionData[0].value = " + curQuestionData[0].value
        );
      } else {
        curQuestionData[1].value++;
        console.log(
          "第467行：curQuestionData[1].value = " + curQuestionData[1].value
        );
      }
      //let curOption=option;
      let curOption = {
        series: [
          {
            data: [],
          },
        ],
      };
      curOption.series[0].data = curQuestionData; //注意数据保存的结构
      //正常 - 2
      console.log(
        "第473行: curOption.series[0].data.length = " +
          curOption.series[0].data.length
      );
      options.push(curOption);

      //正常 - 2
      console.log("--- single: ----");
      console.log(
        " 第478行：options.push(curOption)以后，options[0].series[0].data.length = " +
          options[0].series[0].data.length
      );
    } else if (questions[j].type == "multiple") {
      //多选
      //创建元素存到data数组中，这些元素分别对应记录选项的选择情况
      let curQuestionData = multipleOptionData;
      for (let k = 0; k < questions[j].value.length; k++) {
        let index = questions[j].value[k]; //结合saveData_btn()理解。比如：选第2个选项，那么就会保存2;选第4个选项，那么就会保存4
        curQuestionData[index - 1].value++;
        //option.series.data[index-1].value++; //假如选了第2个选项，那么在data数组中的第2个元素的value属性+1即可
      }

      //let curOption=option;
      let curOption = {
        series: [
          {
            data: [],
          },
        ],
      };
      curOption.series[0].data = curQuestionData; //注意数据保存的结构
      options.push(curOption);

      console.log("--- multiple ---");
      console.log(
        "第493行：options[0].series[0].data.length = " +
          options[0].series[0].data.length
      );
      console.log(
        "第493行：options[1].series[0].data.length = " +
          options[1].series[0].data.length
      );
    } else {
      //文本
      let curQuestionData = textOptionData;
      if (questions[j].answer.length > 15) {
        //大于15的才算有效回答
        curQuestionData[0].value++;
      }

      //let curOption=option;
      let curOption = {
        series: [
          {
            data: [],
          },
        ],
      };
      curOption.series[0].data = curQuestionData; //注意数据保存的结构
      options.push(curOption);

      console.log("--- text ---");
      console.log(
        "第531行：options[0].series[0].data.length = " +
          options[0].series[0].data.length
      );
      console.log(
        "第532行：options[1].series[0].data.length = " +
          options[1].series[0].data.length
      );
      console.log(
        "第533行：options[2].series[0].data.length = " +
          options[2].series[0].data.length
      );
    }

    console.log("------ " + j + " -------");
    console.log("第512行：options.length = " + options.length);
    console.log("第513行: options = " + options);
    console.log(
      "第514：options[0].series[0].data.length = " +
        options[0].series[0].data.length
    );
  }
  //  console.log("------------------- 出现问题 ------------------------------");
  //  console.log("第509行：options.length = "+options.length);
  //  console.log("第510行: options = "+options);
  // // 不正常 - 1
  //  console.log("第511行：options[0].series[0].data.length = "+options[0].series[0].data.length);
  //  console.log("第512行：options[1].series[0].data.length = "+options[1].series[0].data.length);
  //console.log("第513行：options[2].series[0].data.length = "+options[2].series[0].data.length);

  //最后查找其余符合的问卷，在第一份的基础上，继续进行数据的统计
  for (let i = startIndex + 1; i < questionnaires.length; i++) {
    if (questionnaires[i].title != titleOfCurrentOperatedQuestionnaire)
      continue;
    //？？？？？？会不会有影响，因为上面定义了一个同名的 questions
    let questions = questionnaires[i].questions;
    for (let j = 0; j < questions.length; j++) {
      if (questions[j].type == "single") {
        //单选

        if (questions[j].value[0] == 1) {
          //如果选的是第一个选项，那么name=1的{value,name}中value+1
          options[j].series[0].data[0].value++;
        } else {
          options[j].series[0].data[1].value++;
        }
      } else if (questions[j].type == "multiple") {
        //多选

        for (let k = 0; k < questions[j].value.length; k++) {
          let index = questions[j].value[k]; //结合saveData_btn()理解。比如：选第2个选项，那么就会保存2;选第4个选项，那么就会保存4
          options[j].series[0].data[index - 1].value++;
          //option.series.data[index-1].value++; //假如选了第2个选项，那么在data数组中的第2个元素的value属性+1即可
        }
      } else {
        //文本

        if (questions[j].answer.length > 15)
          //大于15的才算有效回答
          options[j].series[0].data[0].value++;
      }
    }
  }
  // console.log("------------------- 最后 -------------------------");
  // console.log("options = " + options);
  // console.log("第一题选项情况：");
  // console.log(
  //   "options[0].series[0].data.length = " + options[0].series[0].data.length
  // );
  // console.log(
  //   "options[0].series[0].data[0].value = " + options[0].series[0].data[0].value
  // );
  // console.log(
  //   "options[0].series[0].data[1].value = " + options[0].series[0].data[1].value
  // );
  // console.log("第二题选项情况：");
  // console.log(
  //   "options[1].series[0].data.length = " + options[1].series[0].data.length
  // );
  // console.log(
  //   "options[1].series[0].data[0].value = " + options[1].series[0].data[0].value
  // );
  // console.log(
  //   "options[1].series[0].data[1].value = " + options[1].series[0].data[1].value
  // );
  // console.log(
  //   "options[1].series[0].data[2].value = " + options[1].series[0].data[2].value
  // );
  // console.log(
  //   "options[1].series[0].data[3].value = " + options[1].series[0].data[3].value
  // );
  return options;
}
